package com.fjj.direct.send;

import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.nio.charset.StandardCharsets;

public class Send {

    private final static String EXCHANGE_NAME = "exchange_direct";

    public static void main(String[] argv) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("192.168.10.100");
        factory.setUsername("yeb");
        factory.setVirtualHost("/yeb");
        factory.setPassword("123");
        factory.setPort(5672);
        try (Connection connection = factory.newConnection();
             Channel channel = connection.createChannel()) {

            channel.exchangeDeclare(EXCHANGE_NAME, BuiltinExchangeType.DIRECT);
            String info = "INFO消息";
            String error = "error警告";
            String warning = "warning信息";

            String infoKey = "info";
            String warnKey = "warning";
            String errorKey = "error";


            channel.basicPublish(EXCHANGE_NAME, infoKey, null, info.getBytes(StandardCharsets.UTF_8));
            channel.basicPublish(EXCHANGE_NAME, warnKey, null, warning.getBytes(StandardCharsets.UTF_8));
            channel.basicPublish(EXCHANGE_NAME, errorKey, null, error.getBytes(StandardCharsets.UTF_8));

            System.out.println(" [x] Sent '" + info + "'");
            System.out.println(" [x] Sent '" + error + "'");
            System.out.println(" [x] Sent '" + warning + "'");



        }
    }
}